package com.cloud.sysmana.entity.dao;

import java.util.List;

import com.cloud.sysmana.dto.SysStore;
import com.cloud.sysmana.entity.SysUser;
import com.cloud.util.page.PageInfo;

/**
 * 系统用户Dao
 * @author gaof
 * @date 2016年4月17日
 */
public interface ISysUserDao {

	/**
	 * 通过用户编号获取用户
	 * @param number
	 * @return
	 */
	public SysUser getUserByNo(String number);

	/**
	 * 获取系统用户分页数据SQL
	 * @param pageInfo
	 * @param dataStore 
	 * @return
	 */
	public PageInfo listUserPage(PageInfo pageInfo, SysStore dataStore);

	/**
	 * 通过Id获取系统用户
	 * @param mid
	 * @return
	 */
	public SysUser getSysUser(int mid);

	/**
	 * 删除系统用户
	 * @param sysUser
	 */
	public void delSysUser(SysUser sysUser);

	/**
	 * 通过Id获取系统用户
	 * @param id
	 * @return
	 */
	public SysUser getSysUserById(Integer id);

	/**
	 * 更新系统用户
	 * @param sysUser2
	 */
	public void updateSysUser(SysUser sysUser);

	/**
	 * 添加系统用户
	 * @param sysUser
	 * @return
	 */
	public SysUser addSysUser(SysUser sysUser);

	/**
	 * 根据用户所在单位这条线的集合  结合职位 确定下一个审核人的list
	 * @param strIn
	 * @param flowRole
	 * @return
	 */
	public List<SysUser> getNextCheckPerUIdByStrInAndflowRole(String strIn,
			String flowRole);

	/**
	 * 通过userjobid查对应的名称
	 * @param id
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List getUserJobNameById(Integer id);

	/**
	 * 查询该单位是否有单位主管
	 * @param deparId
	 * @return
	 */
	public List<SysUser> getSysUserByDeparId(Integer deparId);

	/**
	 * 查询该单位是否有单位监管
	 * @param deparId
	 * @return
	 */
	public List<SysUser> getSysUserCharge1ByDeparId(Integer deparId);

	/**
	 * 验证单位主管或者单位监管是否已经存在
	 * @param deparId
	 * @param userJobId
	 * @return
	 */
	public List<SysUser> getCharge(String deparId, String userJobId);

	

}
